1. Technical Field
The present invention relates in general to a system and method for flexible multiple protocols. More particularly, the present invention relates to a system and method to dynamically configure a device's logical layer interface to communicate with an external device in a coherent mode or a non-coherent mode.
2. Description of the Related Art
The amount of input-output ports that are physically available on a processor chip for interconnect purposes is limited due to the physical size of the input-output drivers and receivers, the number of escapes to the next level of packaging, power restrictions, and other such factors. A single processor may be used in multiple system configurations that require multiple types of interfaces. In addition, these multiple configurations may also have varying bandwidth requirements for the individual interfaces. For example, a processor that is used in a particular application may require a significant amount of non-coherent input-output bandwidth for applications such as clustering or graphics. A different application may require the same processor to support a coherent connection to other processors in order to form a larger computer system.
A challenge found is that designing a processor to support multiple required protocol interfaces and worst case bandwidth requirements on each interface is costly due the large number of physical I/O that would be required, circuits required to drive the I/O, and power required to support the I/O, as well as physical limitations of higher levels of packaging.
A circuit designer understands the impracticality of including an over abundance of interfaces in a circuit design and, therefore, scrutinize which interfaces to include in a particular circuit design. In order to determine which interfaces to include in a circuit design, the circuit designer attempts to identify interfaces that a customer may wish to use when connecting peripherals to the device. For example, a circuit designer may know that customers may wish to communicate with peripheral devices using USB ports. In this example, the circuit designer determines the most practical number of USB interfaces to include in the design.
A challenge found with this approach, however, is that processors with fixed interfaces are limited in which peripheral devices may be connected, which results in limited applications.
What is needed, therefore, is a system and method to dynamically select a device's communication protocols based upon its externally connected devices.